home *** CD-ROM | disk | FTP | other *** search
- This is tcsh version tcsh 6.00. Tcsh is a version of the Berkeley
- C-Shell, with the addition of: a command line editor, command and file
- name completion, listing, etc. and a bunch of small additions to the
- shell itself.
-
- Tcsh runs on BSD 4.2 and 4.3 Unix, Mach, Sun Unix (tested on 3.0, 3.2,
- 3.4, 4.0, 4.1), Pyramid OS/X (in the bsd universe), Encore UMAX 4.2,
- Apple A/UX 2.0, AT&T 3b machines under SysV.2 and V.3, HP/UX
- 6.2 on series 300 and 800 machines and all HP machines under HP/UX
- 6.5 and 7.0, and will probably work with a bit of tinkering on anything
- else either BSD or SysV-ish. Note that the above list is incomplete,
- and the place to look is the config directory to find a configuration
- file appropriate for your machine.
-
- Feel free to use it. These changes to csh may only be included in a
- commercial product if the inclusion or exclusion does not change the
- purchase price, level of support, etc. Please respect the individual
- authors by giving credit where credit is due (in other words, don't
- claim that you wrote portions that you haven't, and don't delete the
- names of the authors from the source code or documentation).
-
- To install tcsh:
-
- 1) Look at the Makefile and make sure that you are using the right
- compilation flags.
-
- NOTES:
- On a vax using the good ol' BSD compiler 'typedef void sigret_t;'
- fails in sh.os.h replace with '#define sigret_t void'. No I will not
- change sh.sig.h. (Both ultrix and 4.3BSD)
-
- 2) Copy the appropriate for your machine and OS config file from the
- config subdirectory into config.h. If you are trying to compile
- tcsh on a machine for which there is no config file yet, you will
- need to create a config file using as a template one of the
- supplied ones. If you get tcsh working on a new machine, I'd
- appreciate a copy of the config file plus additional information
- about the architecture/OS. If you are creating a new config file,
- look very hard at BSDJOBS, BSDSIGS, and BSDTIMES if you are running
- a non-BSD machine. For vanila SysV, these would all be #undef-ed,
- but others may vary (such as A/UX or HPUX). On a pyramid, compile
- in the UCB universe even if you are running under the ATT universe
- usually; it will work anyway, and you get job control for free.
-
- 3) Look at config_f.h, and enable or disable any features you want.
- It is configured the way I like it, but you may disagree.
- If you do not have NLS, then locale.h will not be found. Undefine it
- and things should work ok. On the other hand, if you have NLS you
- might as well use it...
-
- 4) Look at sh.c to make sure that you have the right #ifdefs to set
- the environment variable "HOSTTYPE" correctly. If you need to make
- changes, PLEASE SEND THEM BACK TO ME.
-
- 5) You may want to adjust the DESTDIR and DESTMAN entries in the
- Makefile. These are the directories that tcsh, and the tcsh.1 man
- entry will be placed in when you do a "make install". If you decide
- to install tcsh somewhere other than in /usr/local/bin/tcsh, you should
- #define _PATH_TCSH "/your/installation/directory/tcsh" in pathnames.h.
-
- 6) make
-
- 7) Read the documentation while you are waiting. The file tcsh.man
- is in standard [nt]roff -man format.
-
- 8) Test tcsh to see that it has compiled correctly. The history
- command should give a time stamp on every entry. Typing normal
- characters should echo each exactly once. Control-A should put the
- cursor at the beginning of the input line, but after the prompt.
- Typing characters after that should insert them into the line.
- If you have job control make sure that stopping and restarting
- jobs works. Make sure you can ^C in the middle of the input line.
- Also make sure that pipelines work correctly and there
- are no races. Try 'echo | cat | cat | cat | cat | more' a couple
- of times. Also make sure that the ioctl() modes are preserved.
- Get into vi, enter and exit input mode and suspend it, background
- it and foreground it again. After all that, lastly make sure that
- the tty process group manipulation is happening correctly. Try
- ftp to some host. If your passwd appears on the screen, you have
- lost /dev/tty. Otherwise everything is fine.
-
- 9) Enjoy.
-
- 10) PLEASE send any bug reports (and fixes), code for new features,
- comments, questions, etc. (even flames) to:
-
- -- Christos Zoulas
- christos@ee.cornell.edu
-
- SNail: 389 Engineering/Theory Center
- Cornell University,
- Ithaca, NY 14853.
- Phone: (607) 255-0302
- Fax: (607) 255-9072
-
-
- Various:
-
- On sysv versions < 3.0 (not hpux) the public domain directory
- manipulation library has to be installed.
- If the network is not installed, then there is a gethostname()
- routine is tc.os.c.
-
- Note:
-
- On the rs6000, tcsh might not compile cause <sys/time.h>
- does not define struct tm; ask your support people for an upgrade,
- or apply the following patch:
- [You can apply the patch locally, if you don't have root privs. by:
- mkdir sys; cp /usr/include/sys/time.h sys; cd sys; chmod u+w time.h
- apply the patch]
- [a version of patch is available from prep.ai.mit.edu in /pub/gnu]
-
- This is fixed in the third update of 3.01. To find out what level of
- software the kernel is on a RS/6000, run 'lslpp -h bos.obj'. The
- bottom line of output should be of the form '.... 03.01.XXXX.YYYY'.
- The XXXX value is the level of update, eg 0001, 0002, 0003.
-
-
- *** /usr/include/sys/time.h Sat May 19 19:48:53 1990
- --- time.h Wed Oct 31 18:01:08 1990
- ***************
- *** 1,4 ****
- ! /* @(#)time.h 1.24 com/inc/sys,3.1,9021 2/16/90 10:02:16 */
- #ifndef _H_SYS_TIME
- #define _H_SYS_TIME
-
- --- 1,4 ----
- ! /* @(#)time.h 1.25 com/inc/sys,3.1,9030ct 7/12/90 15:11:35 */
- #ifndef _H_SYS_TIME
- #define _H_SYS_TIME
-
- ***************
- *** 245,249 ****
- --- 245,252 ----
- #define DST_EET 5 /* Eastern European dst */
- #define DST_CAN 6 /* Canada */
-
- + #ifdef _BSD_INCLUDES
- + #include <time.h>
- + #endif /* _BSD_INCLUDES */
-
- #endif /* _H_SYS_TIME */
-